﻿
-- ================================================
-- Remarks: 
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO

IF EXISTS (SELECT * FROM sysobjects WHERE type = 'P' AND name = 'Dasideen_ContentMetaDataMaster_Update')
	BEGIN
		DROP  Procedure  Dasideen_ContentMetaDataMaster_Update
	END

GO

CREATE PROCEDURE [Dasideen_ContentMetaDataMaster_Update]
-- =============================================
-- Author:		<Sagar s.k>
-- Create date: <20/01/2015>
-- Description:	<Dasideen_ContentMetaDataMaster_Update>
-- =============================================
-- Add the parameters for the stored procedure here
	(
	            @ContentKey int,
				@ContentCode varchar(50),
				@ContentName varchar(50),
				@ContentMetaTagKeyword varchar(max),
				@ContentMetaTagDescription varchar(max),
				@ContentHtmlData nvarchar(max),
				@ContentTypeKey int,
				@ContentTotalDownloads int,
				@ContentTotalLikes int,
				@ContentTotalViews int,
		   
				@Sys_ModifiedByID varchar(50) = NULL,
				@Sys_DeleteType int = 0,
				@Sys_IsDeleted bit = false,
				@Sys_OrganizationID int = NULL,
				@Sys_InitialPrimaryKeys varchar(max)= NULL,
				@Sys_WorkstationName varchar(50)= NULL,
				@ConcurrencyTimeStamp datetime = NULL,

				@Sys_DateOfModification datetime OUTPUT
	)
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT OFF;
	-- ConcurrencyTimeStamp is mandatory and it needs to check if any other user has changed the reord or not	
	IF @ConcurrencyTimeStamp = NULL
	BEGIN
		RAISERROR('Missing @ConcurrencyTimeStamp', 11,1);
	END
	DECLARE @CurrentModificationDate datetime;
	SET @CurrentModificationDate = (SELECT [Sys_DateOfModification] FROM [ContentMetaDataMaster] WHERE [ContentKey] = @ContentKey);
	If @ConcurrencyTimeStamp != @CurrentModificationDate
	BEGIN
		RAISERROR('Record is Changed by another process', 11,1);
	END
	
	IF @Sys_WorkstationName = 'Default'	
	BEGIN
		SET @Sys_WorkstationName = (SELECT @@SERVERNAME);
	END
	DECLARE @CurrentDataTime datetime;
	SET @CurrentDataTime = GETDATE();

	UPDATE	[ContentMetaDataMaster]
	SET
	   [ContentCode] = @ContentCode,
	   [ContentName] = @ContentName,
	   [ContentMetaTagKeyword] = @ContentMetaTagKeyword,
	   [ContentMetaTagDescription] = @ContentMetaTagDescription,
	   [ContentHtmlData] = @ContentHtmlData,
	   [ContentTypeKey] = @ContentTypeKey,
	   [ContentTotalDownloads] = @ContentTotalDownloads,
	   [ContentTotalLikes] = @ContentTotalLikes,
	   [ContentTotalViews] = @ContentTotalViews,

       [Sys_DateOfModification] = @CurrentDataTime,
       [Sys_ModifiedByID] = @Sys_ModifiedByID, 
       [Sys_DeleteType] = @Sys_DeleteType,
       [Sys_IsDeleted] = @Sys_IsDeleted,
       [Sys_OrganizationID] = @Sys_OrganizationID,
       [Sys_InitialPrimaryKeys] = @Sys_InitialPrimaryKeys,
       [Sys_WorkstationName] = @Sys_WorkstationName
	WHERE
	(
			[ContentKey] = @ContentKey
	);
	SET		@Sys_DateOfModification = GETDATE();
END
GO
